home *** CD-ROM | disk | FTP | other *** search
- if(!setVars)
- {
- var moveSpeed = 3;
- var addSpeed = 0.5;
- var gravity = 0;
- var maxGravity = 8;
- var airSpeed = 0.5;
- var active = false;
- var xTar = 0;
- xscale = _xscale;
- var attacking = false;
- var hitSound = new Sound();
- var die = false;
- hitSound.attachSound("punch5");
- var removeNum = 100;
- var melt = false;
- var startX = _X;
- var startY = _Y;
- var bat = false;
- var health = 1;
- var mNum = 0;
- var bat = false;
- var setVars = true;
- }
- stop();
- var getFrame = function()
- {
- if(die == true)
- {
- frame = "die";
- }
- else if(melt == true)
- {
- frame = "melt";
- }
- else if(bat == true)
- {
- frame = "hit";
- }
- else if(running == false && attacking == false && falling == false)
- {
- frame = "stand";
- }
- else if(falling == true)
- {
- frame = "stand";
- }
- else if(attacking == true)
- {
- frame = "attack";
- }
- gotoAndStop(frame);
- };
- var onEnterFrame = function()
- {
- _root.checkVis(this);
- if(_root.remake == true)
- {
- die = false;
- melt = false;
- removeNum = 100;
- _X = startX;
- _Y = startY;
- active = false;
- bat = false;
- _visible = true;
- _alpha = 100;
- health = 1;
- }
- if(_root.pauseMode == false)
- {
- if(active == true)
- {
- if(die == false && melt == false && bat == false)
- {
- if(_root.candy.hitTest(hit))
- {
- if(_root.candy.dir == "left")
- {
- _root.candy.dir = "right";
- }
- else
- {
- _root.candy.dir = "left";
- }
- hitSound.start();
- hitSound.start();
- if(health < 1)
- {
- die = true;
- }
- else
- {
- bat = true;
- health -= 1;
- }
- }
- else if(_root.cm.g.hit.hitTest(hit))
- {
- hitSound.start();
- if(health < 1)
- {
- die = true;
- }
- else
- {
- bat = true;
- health -= 1;
- }
- }
- else if(_root.cm.g.sparkle.hitTest(hit))
- {
- melt = true;
- }
- if(attacking == false)
- {
- if(_root.cm._x > _X)
- {
- _xscale = - xscale;
- }
- else if(_root.cm._x < _X)
- {
- _xscale = xscale;
- }
- }
- if(!bound.hitTest(_root.cm))
- {
- if(attacking == false)
- {
- running = true;
- if(_root.cm._x > _X)
- {
- if(!_root.bound.hitTest(_X + xTar + addSpeed,_Y - 10,true))
- {
- xTar += addSpeed;
- }
- }
- else if(_root.cm._x < _X)
- {
- if(!_root.bound.hitTest(_X - xTar - addSpeed,_Y - 10,true))
- {
- xTar -= addSpeed;
- }
- }
- }
- }
- else
- {
- running = false;
- if(xTar > 0)
- {
- xTar -= addSpeed;
- }
- else if(xTar < 0)
- {
- xTar += addSpeed;
- }
- mNum++;
- num = random(50);
- if(arr._currentframe == 1 && (num == 1 or mNum == 30) && attacking == false && falling == false && running == false)
- {
- mNum = 0;
- attacking = true;
- }
- }
- }
- else
- {
- if(removeNum < 0)
- {
- if(_alpha > 0)
- {
- _alpha = _alpha - 1;
- }
- else
- {
- _visible = false;
- }
- }
- else
- {
- removeNum -= 1;
- }
- if(xTar > 0)
- {
- xTar -= addSpeed;
- }
- else if(xTar < 0)
- {
- xTar += addSpeed;
- }
- }
- if(xTar > moveSpeed)
- {
- xTar = moveSpeed;
- }
- else if(xTar < - moveSpeed)
- {
- xTar = - moveSpeed;
- }
- if(_root.bound.hitTest(_X,_Y + 1,true))
- {
- falling = false;
- }
- else
- {
- falling = true;
- }
- if(falling == true)
- {
- grav = 0;
- switched = false;
- i = 0;
- while(i < gravity)
- {
- if(switched == false)
- {
- if(_root.bound.hitTest(_X,_Y + i,true))
- {
- switched = true;
- }
- else
- {
- grav = i;
- }
- }
- i++;
- }
- _Y = _Y + i;
- if(gravity < maxGravity)
- {
- gravity += airSpeed;
- }
- }
- else
- {
- gravity = 0;
- }
- while(_root.bound.hitTest(_X,_Y - 0.5,true))
- {
- _Y = _Y - 0.5;
- }
- if((die == true or melt == true) && g._currentframe == g._totalframes)
- {
- g.stop();
- }
- else
- {
- g.play();
- }
- }
- if(_root.cam.hitTest(this))
- {
- active = true;
- }
- }
- else
- {
- stop();
- g.stop();
- }
- getFrame();
- };
-